import request from "@/utils/request";
// 写的所有的接口函数形参和返回值都必须有ts约束
// 形参的类型约束,看接口文档
// 返回值的类型约束,看返回值的结果(测接口)

export interface UserInfoData {
  routes: string[];
  buttons: string[];
  roles: string[];
  name: string;
  avatar: string;
}

export interface LoginParamsData {
  username: string;
  password: string;
}

interface TokenData {
  token: string;
}
export default {
  // 根据token获取用户信息
  // GET /admin/acl/index/info
  // info
  getUserInfo() {
    return request.get<any, UserInfoData>("/admin/acl/index/info");
  },

  // 登录  成功的标志就是拿到token
  // POST /admin/acl/index/login
  userLogin(loginParams: LoginParamsData) {
    return request.post<any, TokenData>("/admin/acl/index/login", loginParams);
  },

  // 退出登录
  // POST /admin/acl/index/logout
  userLogout() {
    return request.post<any, null>("/admin/acl/index/logout");
  },
};